// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#pragma once


#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
// Windows Header Files:
#include <windows.h>



// TODO: reference additional headers your program requires here

////////ATL STUFF///////////
#define _ATL_ATTRIBUTES
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>



////////OTHER STUFF////////
#include <string>

#define SLN_EXTENSION _T(".sln")
#define APP_REG_KEY _T("HKLM\\Software\\SharpLauncher")

#import "progid:Wscript.Shell" no_namespace \
	rename("FreeSpace", "WshFreeSpace") \
	rename("ExpandEnvironmentStrings", "WshExpandEnvironmentStrings") \
	rename("AddPrinterConnection", "WshAddPrinterConnection") \
	rename("SetDefaultPrinter", "WshSetDefaultPrinter") \
	rename("DeleteFile", "WshDeleteFile") \
	rename("MoveFile", "WshMoveFile") \
	rename("CopyFile", "WshCopyFile") 

inline void _throw_on_error(HRESULT hr, IErrorInfo * errInfo = NULL)
{
	if(FAILED(hr))
		_com_raise_error(hr, errInfo);
}
